package com.cctc.lifecycle;

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

/**
 * @Name ExampleBeanWithCode
 * @Description: Bean 实例生命周期回调演示类
 * @Author: lichao
 * @Email: li2chao@126.com
 * @Date: 2024-01-15 09:44:57
 **/
public class ExampleBeanWithCode implements InitializingBean, DisposableBean {

    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("该 Bean 类重写了 InitializingBean 接口的 afterPropertiesSet() 方法");
        System.out.println("该 Bean 实例被创建和属性设置完成之后，将会执行该方法... ...");
        System.out.println("--> 对该 Bean 实例进行一些额外的初始化操作。");
    }

    @Override
    public void destroy() throws Exception {
        System.out.println("该 Bean 类重写了 DisposableBean 接口的 destroy() 方法");
        System.out.println("该 Bean 实例被销毁时，将会执行该方法... ...");
        System.out.println("--> 释放该 Bean 实例持有的系统资源。");
    }

}

